perm filename ARMDF[SYS,HE]8 blob
sn#057818 filedate 1973-08-15 generic text, type T, neo UTF8
00100 TITLE ARM
00200 ; These are the error messages returned by the arm servo program
00300
00400 ALLOK←←0 ;ALL OK
00500 NOFILE←←3 ;FILE NOT FOUND
00600 NODATA←←4 ;ENTER ON DATA FILE FAILED
00700 NODEV←←5 ;DEVICE DSK DOES NOT EXIST
00800 EXER←←1 ;IF JUST 1 THEN OVERFLOW OR UNDERFLOW OCCURED,
00900 ;IF OF THE FORM X1 THEN EXCESSIVE FORCE REQUIRED AT JOINT X
01000 GRASER←←2 ;GRASP ERROR, HAND CLOSED TOO FAR
01100 TOUCH←←6 ;STOPPED ON TOUCH
01200 ;THIS ERROR IS OF THE FORM X6 WHERE THE X'th SENSOR TOUCHED
01300 READER←←7 ;A/D READ ERROR
01400 TERR←←20 ;SPACEWAR JOB FAILS TO TERMINATE
01500 HTERR←←22 ;HAND FAILS TO FINISH IN TIME
01600 STPERR←←23 ;ARM FAILED TO STOP ON FORCE LIMIT
01700 LOOPER←←24 ;ARM IN CONTROL LOOP
01800 SAVERR←←25 ;SAVE ARRAY INDEX ERROR
01900 FUNERR←←27 ;FUNCTION DOES NOT EXIST
02000 NOTHER←←30 ;THE ARM IS DOWN
02100 INVMES←←40 ;MESSAGE INVALID, ARM NOT IN WAIT STATE
02200 REAERR←←50 ;TRAJECTORY FILE READ ERROR
02300 VERSN←←60 ;VERSION NUMBER WRONG
02400 REFERR←←70 ;REFERENCE SUPPLY IS OFF,CHECK THE FUSE
02500 PDPERR←←100 ;PDP-6 IS DOWN
02600 ISERR←←200 ;PDP-6 SERVICE INTERRUPTED
02700 ADBUS←←300 ;AD IS BUSY
02800 XGPBUS←←400 ;XGP IS BUSY
02900
03000 XLIST
03100 SUBTTL AC DEFINITIONS AND FLAGS LOU PAUL
03200 LIST
00100 ; These are conditional assembly flags
00200 DEB←←0 ;causes the AC's to be saved each jiffy
00300 STEP←←0 ;No acceleration compensation and predicted velocity
00400 TACH←←0 ;Integrates tach voltage and sets vgain
00500 TRACK←←0 ;Causes a debugging file to be written
00600 IFE TRACK,<
00700 DYNAMICS←←0 ;CAUSES FORWARD AND FEEDBACK TO BE WRITTEN OUT
00800 REPORT←←0+DYNAMICS ;Causes display data to be written
00900 >
01000 IFN TRACK,<
01100 REPORT←←0
01200 DYNAMICS←←0
01300 >
01400 SIMU←←0 ;Turns this program into a sail callable routine to
01500 ;simulate the arm
01600 USER←←0+SIMU ;This runs the SPACEWAR job in user mode and simulates the arm
01650 ADJG←←0 ;READS THE POT BOX TO SET SERVO GAINS
01658 IFN ADJG,<ADJD←←0>
01666 IFE ADJG,<
01674 ADJD←←0 ;READS THE POT BOX TO SET DRIVE FACTORS
01682 >
01690 ADJUST←←ADJG+ADJD ;CAUSES THE POTS TO BE READ TO ADJUST GAINS
01700 HANDWORK←←1 ;IF ZERO DOSN'T DRIVE THE HAND
01800 ARMWORK←←1 ;IF ZERO RETURNS THE ARM DOWN MESSAGE
00100 IFN SIMU,<
00200 INTERNAL ARM.INIT,ARM.STEP
00300 INTERNAL ARM.THETA,ARM.GRASP,ARM.TOUCH,ARM.FUNCTION
00400 >
00500 EXTERNAL JOBREN,JOBOPC
00550 IFN ADJUST,<EXTERNAL EXP>
00600 OPDEF INTUUO [723B8]
00700 OPDEF UFBRD [706B8]
00800
00900 ; AC'S
01000 BITS←←0
01100 AC←1
01200 TAC←2
01300 MQ←3
01400 I←5
01500 J←6
01600 K←7
01700 L←10
01800 DACVAL←11 ;CONTAINS THE A/D READING WITH THE SIGNBITS COMP'D
01900 CBUF←12 ;POINTS TO CURRENT BUFFER
02000 DATWD←13 ;ARM DATAO
02100 DATA←14 ;DATA POINTER FOR DEBUGGING BUFFER
02200 TAC1←15
02300 P←17 ;PUSH DOWN POINTER
02400
02500
02600 ; CONSTANTS
02700 CHA←←62B23 ;JOINT 6 POT CHANNEL
02800 CHA5←←61B23 ;JOINT 5 POT CHANNEL
02900 N6CHA←←63B23 ;ALT JOINT 6 POT CHANNEL
03000 HANDCHA←←70B23 ;HAND POT CHANNEL
03100 PDLL←←5 ;LENGTH OF PUSH DOWN
03200 MASTER←←16660 ;VERSION NUMBER
03300 DBL←←6000 ;LENGTH OF DEBUGGING BUFFER
03400 AD←←424 ;DEVICE AD
03500 DEVT←←500 ;DEVICE TOOL
03600 DB←←204 ;DEVICE 136
03700 ARM←←420 ;DEVICE ARM
03800 CLOCK←←730 ;DEVICE CLOCK
03900 WIDTH←←600 ;D/A TO SET PULSE WIDTHS
04000 MAXFN←←22 ;MAXIMUM NUMBER OF FUNCTIONS
04100 JMPABS←←100 ;JUMP ABSOLUTE
04200 SKPERR←←101 ;SKIP ON ERROR
04300 SKPNER←←103 ;SKIPN ON ERROR
04400 SKPSER←←104 ;SKIPS ON ERROR
04500 JMPREL←←102 ;JUMP RELATIVE
04600
04700 IFN USER,<OPDEF DATAO [JFCL]>
04800
04900 ; FLAGS WHICH RESIDE IN AC 0 OR IN BITSAV
05000
05100 DTST←←1 ;SPACE WAR JOB FINISHED
05200 POTREAD←←2 ;READ POTS IN OCTAL+=1000, DO NOT CONVERT TO DEGREES
05300 RONLY←←4 ;JUST READ POTS
05400 FINAL←←10 ;NULL ARM ERRORS
05500 RUN←←20 ;RUN ARM
05600 INCREM←←40 ;INCREMENT SET POINT TOWARD DTH
05700 DROP←←100 ;PLACE ARM DO NOT STOP IF ERRORS ARE ZERO
05800 ALT6←←200 ;READ ALT POT 6
05900 HCL←←400 ;INITIALIZATION FOR HAND FUNCTIONS
06000 ALT←←1000 ;TRAJECTORY ALT PATH
06100 STP←←2000 ;STOP ON FORCE LIMIT
06200 TRIP←←4000 ;TURN ON ARM
06300 REREAD←←10000 ;AD HAS HAD TO BE RESTARTED
06400 STCH←←20000 ;STOP ON TOUCH
06500 VZERO←←40000 ;INITIALIZE VZ
06600 WOB←←100000 ;WOBBLE OUTER JOINTS
06700 NSET←←200000 ;DO CALL SETSET
06800 BOTH←←400000 ;MERGE
06900 ;FLAGS WHICH RESIDE IN THE LH OF DATWD
07000 NNUL←←1 ;DO NOT NULL
07100 INT←←2 ;INTERPOLATE CI AS THE ARM MOVES
07200 NXTFN←←4 ;START NEXT FUNCTION NOW
07300 ;FLAGS IN LH OF INSTRUCTIONS
07400 MERGE←←400 ;MERGE
07500
07600 RELOCF←←40
07700 HOLDF←←20
07800 DEC←←-4
07900 XF←←1
08000
08100 XALL
08200 XLIST
08300 SUBTTL MESSAGE FORMAT LOU PAUL
08400 LIST
00100 ; THIS IS THE 32 WORD MAIL MESSAGE
00200
00300 EXE: XWD MASTER,0 ;18-27 NARGS, 30 RELOC, 31 HOLD, 32 SOTCH, 33-35 EXE
00400 ;0 READ IN OCTAL
00500 ;1 READ IN DECIMAL
00600 ;2 EXECUTE FILE
00700 ;3 EXECUTE FUNCTION
00800 FILE: 0
00900 PPPN: 0
01000 BAND: 0
01100 SEGJOB: 0
01200 NAME: 0
01300 STATUS: 0
01400 SEGMENT:0
01500 NERVES: 0
01600 ETOR: 0
01700 THETA: 0
01800 ARGS: BLOCK =21
01900
02000 XLIST
02100 SUBTTL USER LEVEL CODE LOU PAUL
02200 LIST